/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.edu.ufg.mir.geometria;

import java.io.BufferedReader;
import java.io.InputStreamReader;

/**
 *
 * @author javaee
 */
public class Principal {
    public static void main(String[] args) {
        BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
        int opcion=0;
        int figura=0;
        double radio=0.0;
        double base=0.0;
        double altura=0.0;
        
        Circulo circulo = new Circulo();
        Rectangulo rectangulo = new Rectangulo();
        Triangulo triangulo = new Triangulo();
        System.out.println("\n\nBienvenido al programa para trabajar con figuras geometricas\n");
       
        
        try {
             do
            {
                System.out.println("MENU DE OPCIONES");
                System.out.println("-Para trabajar con circulos escriba 1");
                System.out.println("-Para trabajar con rectangulos escriba 2");
                System.out.println("-Para trabajar con triangulos escriba 3");
                System.out.println("-Para calcular el area escriba 4");
                System.out.println("-Para calcular el perimetro escriba 5");
                System.out.println("-Para salir del programa escriba 6");
                System.out.println("¿Con qué desea trabajar? Escriba un numero: ");
                opcion=Integer.parseInt(dataIn.readLine());
                
               switch (opcion)
               {
                case 1:
                   System.out.println("-Ingrese el valor del radio");            
                   radio = Double.parseDouble(dataIn.readLine());
                   circulo.setRadio(radio);
                   figura =1;
                   break;
                case 2:
                   System.out.println("-Ingrese el valor de la altura"); 
                   altura =Double.parseDouble(dataIn.readLine());
                   System.out.println("-Ingrese el valor de la base");
                   base = Double.parseDouble(dataIn.readLine());
                   rectangulo.setAltura(altura);
                   rectangulo.setBase(base);
                   figura=2;
                   break;
                case 3:
                    System.out.println("-Ingrese el valor de la altura");
                    altura = Double.parseDouble(dataIn.readLine());
                    System.out.println("-Ingrese el valor de la base");
                    base = Double.parseDouble(dataIn.readLine());
                    triangulo.setAltura(altura);
                    triangulo.setBase(base);
                    figura=3;
                    break;
                
                case 4:
                    if(figura ==0){System.out.println("Primero hay que configurar una figura geometrica"); }
                    if(figura ==1){System.out.println("El area del circulo es: "+circulo.calcularArea());}
                    if(figura ==2){System.out.println("El area del rectangulo es: "+rectangulo.calcularArea());}
                    if(figura ==3){System.out.println("El area del triangulo es: "+triangulo.calcularArea());}
                    break;
                  
                case 5:
                    if(figura ==0){System.out.println("Primero hay que configurar una figura geometrica");}
                    if(figura ==1){System.out.println("El perimetro del circulo es: "+circulo.calcularPerimetro());}
                    if(figura ==2){System.out.println("El perimetro del rectangulo es: "+rectangulo.calcularPerimetro());}
                    if(figura ==3){System.out.println("El perimetro del triangulo no esta definido.");}
                    break;
                case 6:
                    System.out.println("Gracias por utilizar el programa. Hasta Pronto.");
                    break;
                default:
                    System.out.println("-Intenta nuevamente. Gracias");
                }
                
             }while(opcion != 6);
            
            

        } catch (Exception e) {
         e.printStackTrace();
        }
    }
 
}
